namespace RuoVea.WeighIns.Server.Dto;

/// <summary>
/// 用户个人设置数据传输对象
/// </summary>
public class UserSettingsDto
{
    // 基础信息
    public double? Height { get; set; }
    public int? Gender { get; set; }
    public DateTime? BirthDate { get; set; }

    // 单位系统
    [Range(1, 2, ErrorMessage = "单位系统值无效")]
    public int UnitSystem { get; set; }

    // 健康目标
    [Range(1, 4, ErrorMessage = "健康目标值无效")]
    public int HealthGoal { get; set; }

    [Range(0.1, 2.0, ErrorMessage = "每周目标应在0.1-2.0kg之间")]
    public double WeeklyGoal { get; set; }

    // 活动水平
    [Range(1, 5, ErrorMessage = "活动水平应在1-5之间")]
    public int ActivityLevel { get; set; }

    // 提醒设置
    public TimeSpan? ReminderTime { get; set; }
    public bool EnableReminder { get; set; }

    // 通知偏好
    public bool ReceiveWeeklyReport { get; set; }
    public bool ReceiveTrendAlerts { get; set; }

    // 数据分享
    [Range(0, 2, ErrorMessage = "数据分享设置无效")]
    public int DataSharing { get; set; }
}
